
# 从 sklearn 的 datasets 模块中导入 load_iris 函数，用于加载鸢尾花数据集
from sklearn.datasets import load_iris
# 从 sklearn 的 model_selection 模块中导入 train_test_split 函数，用于将数据集划分为训练集和测试集
from sklearn.model_selection import train_test_split
# 从 sklearn 的 neighbors 模块中导入 KNeighborsClassifier 类，用于创建 K 近邻分类器模型
from sklearn.neighbors import KNeighborsClassifier

# 调用 load_iris 函数加载鸢尾花数据集，返回的 iris 对象包含了数据集相关信息（如数据、标签等）
iris = load_iris()

# 使用 train_test_split 函数将鸢尾花数据集的特征数据（iris.data）和对应的标签数据（iris.target）
# 按照测试集占比 0.2 的比例划分为训练集特征（data_tr）、测试集特征（data_te）、训练集标签（label_tr）、测试集标签（label_te）
data_tr, data_te, label_tr, label_te = train_test_split(iris.data, iris.target, test_size=0.2)

# 创建一个 K 近邻分类器模型实例，设置邻居数量为 5，这里的 n_neighbors 参数指定了用于分类决策的近邻数量
model = KNeighborsClassifier(n_neighbors=5)

# 使用训练集特征（data_tr）和训练集标签（label_tr）对创建好的 K 近邻分类器模型进行训练
model.fit(data_tr, label_tr)

# 使用训练好的模型对测试集特征（data_te）进行预测，返回预测结果，存储在 pre 变量中
pre = model.predict(data_te)

# 使用模型对测试集进行评分，计算模型在测试集上的准确率，返回值存储在 acc 变量中
acc = model.score(data_te, label_te)

print(pre)
# 打印输出模型在测试集上的准确率，以便查看模型的性能表现
print(acc)


